/**
 * 作者: hxl
 * 日期: 2025-01-15 17:39:53
 * 备注: 事件主表
 */
package com.motu.monstercity.server.game.commondata.event;
import com.motu.vertx.module.utility.toolset.Tool;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;

public class EventMain extends EventMainModel {

    public static final int TRIGGER_TYPE_ONLINE_TIME = 1; // 根据在线时间触发
    public static final int TRIGGER_TYPE_STAGE = 2; // 探索关卡触发

    public static final int EVENT_TYPE_ONLINE = 1; // 在线事件
    public static final int EVENT_TYPE_NORMAL = 2; // 普通事件（点击后弹出事件界面，点击确定完成事件获得奖励）
    public static final int EVENT_TYPE_CHOOSE = 3; // 抉择事件（点击后弹出事件界面，根据选项弹出各自反馈的界面）
    public static final int EVENT_TYPE_DISPATCH = 4; // 派遣事件（点击后弹出事件界面，至少派遣一名角色，可以完成任务）

    public JsonArray eventParamArr = null;

    public int[] rewardPeasonArr = null;

    public EventMain(JsonObject obj) {
        super(obj);
        try {
            eventParamArr = Tool.isEmpty(eventParam) ? new JsonArray() : new JsonArray(eventParam);
        } catch (Exception e) {
            System.out.println("initEventMain error: id=" + id + ", eventParam=" + eventParam);
            throw e;
        }
        rewardPeasonArr = Tool.isEmpty(rewardPeason) ? new int[0] : Tool.strToIntArray(rewardPeason, ";");
    }

    public JsonArray getEventParamArr() {
        return eventParamArr;
    }

    public int getRewardPerson(int index) {
        if (rewardPeasonArr == null || rewardPeasonArr.length == 0) {
            return 0;
        }
        index = Math.min(rewardPeasonArr.length - 1, index);
        return rewardPeasonArr[index];
    }
}
